home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / hack / 3_1 / sys / amiga / makefile.ami < prev    next >
Encoding:
Makefile  |  1993-01-18  |  31.9 KB  |  1,035 lines

  1. #    NetHack Makefile.
  2. #    SCCS Id: @(#)Makefile.ami    3.3    93/01/08
  3. # Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1991, 1992, 1993.
  4. # NetHack may be freely redistributed.  See license for details.
  5.  
  6. # This makefile is arranged for compiling for the Amiga with SAS/C 5.10b but
  7. # can be configured for compiling with Manx C 5, SAS/C 6.1, or registered DICE
  8. # with simple changes.  The appropriate changes are identified by #[compiler]
  9. # where compiler is one of: SAS5, SAS6, MANX, or DICE; the options in
  10. # this makefile as should be set according to the compiler being used.
  11.  
  12. # Note: When using the Manx compiler, an alternate make utility is
  13. # required. The bundled Aztec make is just too damaged.
  14.  
  15. # The following assignments should be made before using this makefile:
  16. #
  17. #   HackExe:    directory where final executable should go
  18. #   NetHack:    directory where other runtime support files should go
  19. #   Amiga:    "amiga" directory
  20. #   Dat:    "dat" directory
  21. #   Doc:    "doc" directory
  22. #   Incl:    "include" directory
  23. #   Share:    "share" directory
  24. #   NHS:    "src" directory
  25. #   Util:    "util" directory
  26. #   OBJ:    destination for object files for main binary
  27. #   OBJO:    destination for object files for everything else
  28. #        NB: OBJ and OBJO MUST be different directories
  29. #
  30. # Startup makefile with:
  31. #
  32. #[SAS6]
  33. #    cd OBJ:
  34. #    smake -f Amiga:Makefile.ami
  35. #    cd NetHack:
  36. #    smake -f Amiga:Makefile.ami install
  37. #
  38. #[SAS5]
  39. #    cd OBJ:
  40. #    lmk -f Amiga:Makefile.ami
  41. #    cd NetHack:
  42. #    lmk -f Amiga:Makefile.ami install
  43. #
  44. #[MANX]
  45. #    cd OBJ:
  46. #    make -f Amiga:Makefile.ami
  47. #    cd NetHack:
  48. #    make -f Amiga:Makefile.ami install
  49. #
  50. #[DICE]
  51. #    cd OBJ:
  52. #    make -f Amiga:Makefile.ami
  53. #    cd NetHack:
  54. #    make -f Amiga:Makefile.ami install
  55. #
  56. # You may use following targets on lmk/make command lines:
  57. #   all        do it all (default)
  58. #   link    just create $(GAME) from object files
  59. #   obj        just create common object files
  60. #   obja    just create amiga object files
  61. #   objs    just create shared object files
  62. #   clean    deletes the object files
  63. #   spotless    deletes the object files, $(GAME), and more
  64. #
  65. # Note:  We do not build the Guidebook here since it needs tbl
  66. # (See the file sys/unix/Makefile.doc for more information)
  67.  
  68. # Precompiled header files:
  69. #   $(HDEP) should appear in any dependency list for an object file where
  70. #   we would want to make use of the precompiled version of Incl:hack.h,
  71. #   while $(CSYM) should appear in the C compiler command line that creates
  72. #   any such object file.  (Changes made here should agree with the $(HDEP):
  73. #   target that appears later in this makefile.)
  74. #
  75. #   Notice that since this file would be created on Ram: that we would
  76. #   end up recompiling everything if we followed the normal make sequence.
  77. #   Thus, we could use:
  78. #
  79. #[SAS6]
  80. #    cd NetHack:
  81. #    smake -f Amiga:Makefile.ami Ram:hack.sym
  82. #    setdate Ram:hack.sym {date & time of Incl:hack.h}
  83. #    smake -f Amiga:Makefile.ami
  84. #
  85. #[SAS5]
  86. #    cd NetHack:
  87. #    lmk -f Amiga:Makefile.ami Ram:hack.sym
  88. #    setdate Ram:hack.sym {date & time of Incl:hack.h}
  89. #    lmk -f Amiga:Makefile.ami
  90. #
  91. #[MANX]
  92. #    cd NetHack:
  93. #    make -f Amiga:Makefile.ami Ram:hack.sym
  94. #    setdate Ram:hack.sym {date & time of Incl:hack.h}
  95. #    make -f Amiga:Makefile.ami
  96.  
  97. #[SAS5]
  98. #   If we were to use the precompiled header file feature, we would uncomment
  99. #   these following two lines.  However, there are still problems in the
  100. #   behavior of this feature in version 5.04, so these lines are commented
  101. #   out for now.
  102.  
  103. #HDEP    = Ram:hack.sym
  104. #CSYM    = -HRam:hack.sym
  105.  
  106. #[SAS5]
  107. #   If we were to use the precompiled header file feature in a newer version
  108. #   of SAS/C, we would comment out these following two lines.
  109. #   If we don't use precompiled header files, we uncomment it as well.
  110.  
  111. HDEP    = Incl:hack.h
  112. CSYM    =
  113.  
  114. #[MANX]
  115. #   If we were compiling with Aztec, and wanted to use the symbol table
  116. #   pre-loading feature, we would uncomment these following two lines.
  117.  
  118. #HDEP    = Ram:hack.sym
  119. #CSYM    = +IRam:hack.sym
  120.  
  121. #[DICE]
  122. #   If we were compiling with DICE and wanted to use the symbol table
  123. #   pre-loading feature, we would uncomment these following two lines.
  124.  
  125. #HDEP    = Incl:hack.sym
  126. #CSYM    = -HIncl:hack.sym=Incl:hack.h
  127.  
  128. # [OPTION] Pathname for (optional) uudecode program:
  129. #   If uudecode is available for use by this makefile, give its name below.
  130. #   Use a harmless command (like echo) otherwise.
  131.  
  132. #UUDEC    = echo
  133. UUDEC    = uudecode
  134.  
  135. # Flex/Bison command assignments -- Useful only if you have flex/bison
  136. FLEX    = flex
  137. BISON    = bison
  138. # FBFIL and FBLIB may be used, if required by your version of flex or bison,
  139. # to specify additional files or libraries to be linked with
  140. FBFIL    =
  141. FBLIB    = lib:compat.lib
  142.  
  143. # If you're compiling this on a 1.3 system, you'll have to uncomment the
  144. # following (for use with the ifchange script below).  Also useful instead of
  145. # "protect +s ifchange"
  146. EXECUTE = execute
  147.  
  148. # Pathname for the C compiler being used.
  149.  
  150. #[SAS6]
  151. #CC    = sc
  152.  
  153. #[SAS5]
  154. CC    = lc
  155.  
  156. #[MANX]
  157. #CC    = cc
  158.  
  159. #[DICE]
  160. #CC    = dcc
  161.  
  162. # Compilation flags for selected C Compiler:
  163. #   $(CFLAGS) should appear before filename arguments of $(CC) command line.
  164.  
  165. #[SAS6]
  166. #   Note: make sure your CLI stack size is large (at least 50K) or lev_comp
  167. #   and makedefs may fail terribly - stack checking is disabled.
  168. #
  169. #  **** WARNING ****    GST support is not fool proof.  You must make makedefs
  170. #            without a GST first so that the generated headers
  171. #            that are part of the GST can be made.
  172. #
  173. #GSTSRC=Amiga:amigst.c
  174. #
  175. #GSTHEAD=Incl:hack.h Incl:pm.h Incl:trap.h Incl:onames.h \
  176. #    Amiga:winami.p Amiga:amidos.p Amiga:amiwind.p
  177. #
  178. #GSTFILE=OBJ:NetHack.gst
  179. #MKGSTFILE=OBJ:MakeDefs.gst
  180. #NHGSTFILE=OBJ:Game.gst
  181. #COPYMGST=copymgst
  182. #COPYNGST=copyngst
  183. # undefine this to not compile with GSTs
  184. #GST=gst=$(GSTFILE)
  185. #
  186. #DEBUG=l
  187. #CFLAGS    = data=far nminc debug=$(DEBUG) idir=incl: cpu=any nostkchk ign=104 \
  188. #        ignore=85,62 strmerge optsize ppbuf=8000 afp $(ERRREXX) $(GST)
  189. # for files that are too large for the standard flags:
  190. #CFLAGS2 = code=far nostrmerge
  191. #WBCFLAGS = ignore=217,62 data=far ansi nminc code=far debug=sf $(ERRREXX) $(GST)
  192. #WBC2FLAGS = define=CLI
  193. #WBLFLAGS =
  194. #CCFLAGS = define=
  195. #SPLFLAGS = ignore=77 define=SPLIT
  196.  
  197. #[SAS5]
  198. #   Note: make sure your CLI stack size is large (at least 50K) or lev_comp
  199. #   and makedefs may fail terribly - stack checking is disabled.
  200. CFLAGS    = -b0 -cfi -d1 -iIncl: -ma -v -cs -ms -z8000 -r0 #-O
  201. # for files that are too large for the standard flags: 
  202. CFLAGS2 = -r0
  203. CCDEF = -d
  204. WBCFLAGS = -r0 -b0 -cafis -d1 #-O
  205. WBC2FLAGS = -dCLI
  206. WBLFLAGS =
  207. SPLFLAGS = -cd -dSPLIT
  208.  
  209. #[MANX]
  210. #CFLAGS = -iincl: -mc -md -ms -pa -ps -bs -wo -qq
  211. #WBCFLAGS = -mc -md -ms -pa -ps -bs -wo -qq -pp
  212. #WBLFLAGS = +cd
  213.  
  214. #[DICE]
  215. #CFLAGS = -c -Iincl: -mD -mC -ms
  216. #WBCFLAGS = -c -ms
  217. #WBLFLAGS =
  218.  
  219. # Components of varous link command lines:
  220. #   $(LINK) should be the pathname of the linker being used (with any options
  221. #   that should appear at the beginning of the command line).  The name of the
  222. #   output file should appear immediately after $(LINK).  $(LIN) should appear
  223. #   before the list of object files in each link command.  $(LLINK) should
  224. #   appear as the list of object files in the link command line that creates
  225. #   the NetHack executable.  $(LLIB) should appear at the end of each link
  226. #   command line.
  227.  
  228. # Note: amiga.lib added due to missing prototypes/pragmas.
  229. # Should be deleted when this is resolved.
  230.  
  231. #[SAS6]
  232.  
  233. #LINK    = sc link
  234. #LIN    = startup=catch
  235. #LLINK    = with Amiga:ami.lnk
  236. #LLIB    = lib=Lib:sc.lib lib=lib:amiga.lib BATCH #scnb.lib or sc.lib
  237. #FLLIB    = lib=$(FBLIB) Lib:sc.lib BATCH
  238. #OBJSPEC = objname=
  239. #PNSPEC = pname=
  240. #INCLSPEC = idir=
  241. #DEFSPEC = define=
  242. #IGNSPEC = ignore=
  243. #COMPACT_HEADERS=$(GSTFILE) $(COPYNGST)
  244.  
  245. #[SAS5]
  246.  
  247. LINK    = Blink to
  248. LIN    = from Lib:catch.o
  249. LLINK    = with Amiga:ami.lnk
  250. LLIB    = lib Lib:lc.lib lib:amiga.lib BATCH #lcnb.lib or lc.lib
  251. FLLIB    = lib $(FBLIB) Lib:lc.lib BATCH
  252. OBJSPEC = -o
  253. PNSPEC =
  254. INCLSPEC = -i
  255. DEFSPEC = -d
  256. IGNSPEC = -j
  257.  
  258. #[MANX]
  259.  
  260. #LINK    = ln -g +q +ss -o
  261. #LIN    =
  262. #LLINK    = -f Amiga:ami.lnk
  263. #LLIB    = -lcl16
  264. #FLLIB  = -lcl16
  265. #OBJSPEC = -o
  266. #PNSPEC = -o
  267. #INCLSPEC = -i
  268. #DEFSPEC = -d
  269. #IGNSPEC = -j
  270.  
  271. #[DICE]
  272.  
  273. #LINK     = dcc -s -o -frag
  274. #LIN     =
  275. #LLINK     = @Amiga:ami.lnk
  276. #LLIB     =
  277. #FLLIB     = -l$(FBLIB)
  278. #OBJSPEC = -o
  279. #PNSPEC = -o
  280. #INCLSPEC = -i
  281. #DEFSPEC = -d
  282. #IGNSPEC = -j
  283.  
  284. # Name of the game:
  285.  
  286. GAME    = HackExe:NetHack
  287.  
  288. # A more reasonable random number generator (recommended for the Amiga):
  289.  
  290. RANDOBJ    = OBJ:random.o
  291.  
  292. .PRECIOUS:  Incl:config.h Incl:decl.h Incl:hack.h Incl:permonst.h Incl:you.h
  293.  
  294. # Almost nothing below this line should have to be changed.
  295. # (Exceptions are marked by [SAS6], [MANX], etc.)
  296. #
  297. # Other things that have to be reconfigured are in config.h,
  298. # (amiconf.h, pcconf.h), and possibly system.h, tradstdc.h.
  299.  
  300. # Object files for makedefs:
  301.  
  302. MAKEOBJS = \
  303.     OBJO:makedefs.o OBJ:monst.o OBJ:objects.o
  304.  
  305. # Object files for special levels compiler:
  306.  
  307. SPLEVOBJS = \
  308.     OBJO:lev_yacc.o OBJO:lev_lex.o    OBJO:lev_main.o \
  309.     OBJ:decl.o     OBJ:drawing.o    OBJ:monst.o \
  310.     OBJ:objects.o
  311.  
  312. # Object files for dungeon compiler
  313.  
  314. DGNCOMPOBJS = \
  315.     OBJO:dgn_yacc.o    OBJO:dgn_lex.o    OBJO:dgn_main.o OBJ:alloc.o OBJO:panic.o
  316.  
  317. # Object files for NetHack:
  318.  
  319. COMMOBJ = \
  320.     OBJ:allmain.o    OBJ:alloc.o    OBJ:apply.o     OBJ:artifact.o    \
  321.     OBJ:attrib.o    OBJ:ball.o    OBJ:bones.o    OBJ:botl.o    \
  322.     OBJ:cmd.o    OBJ:dbridge.o    OBJ:decl.o    OBJ:detect.o    \
  323.     OBJ:display.o    OBJ:do.o    OBJ:do_name.o    OBJ:do_wear.o    \
  324.     OBJ:dog.o    OBJ:dogmove.o    OBJ:dokick.o    OBJ:dothrow.o    \
  325.     OBJ:drawing.o    OBJ:dungeon.o    OBJ:eat.o    OBJ:end.o    \
  326.     OBJ:engrave.o    OBJ:exper.o    OBJ:explode.o    OBJ:extralev.o    \
  327.     OBJ:files.o    OBJ:fountain.o     OBJ:hack.o    OBJ:invent.o    \
  328.      OBJ:lock.o    OBJ:mail.o    OBJ:makemon.o    OBJ:mcastu.o    \
  329.     OBJ:mhitm.o    OBJ:mhitu.o    OBJ:minion.o    OBJ:mklev.o    \
  330.     OBJ:mkmap.o    OBJ:mkmaze.o    OBJ:mkobj.o    OBJ:mkroom.o    \
  331.     OBJ:mon.o    OBJ:mondata.o    OBJ:monmove.o    OBJ:monst.o    \
  332.     OBJ:mplayer.o    OBJ:mthrowu.o    OBJ:muse.o    OBJ:music.o    \
  333.     OBJ:o_init.o    OBJ:objects.o    OBJ:objnam.o    OBJ:options.o    \
  334.     OBJ:pager.o    OBJ:pickup.o    OBJ:polyself.o    OBJ:potion.o    \
  335.     OBJ:pline.o     OBJ:hacklib.o    OBJ:pray.o    OBJ:priest.o    \
  336.     OBJ:quest.o    OBJ:questpgr.o    OBJ:read.o    OBJ:rect.o    \
  337.     OBJ:restore.o    OBJ:rnd.o    OBJ:rumors.o    OBJ:save.o    \
  338.     OBJ:shk.o    OBJ:shknam.o    OBJ:sit.o    OBJ:sounds.o    \
  339.     OBJ:sp_lev.o    OBJ:spell.o    OBJ:steal.o    OBJ:timeout.o    \
  340.     OBJ:topten.o    OBJ:track.o    OBJ:trap.o    OBJ:u_init.o    \
  341.     OBJ:uhitm.o    OBJ:vault.o    OBJ:version.o    OBJ:vision.o    \
  342.     OBJ:weapon.o    OBJ:were.o    OBJ:wield.o    OBJ:windows.o    \
  343.     OBJ:wizard.o    OBJ:worm.o    OBJ:worn.o    OBJ:write.o    \
  344.     OBJ:zap.o
  345.  
  346. MAKEDEFOBJ = \
  347.     OBJ:monstr.o
  348.  
  349. AMIGAOBJ = \
  350.     OBJ:amidos.o    OBJ:amirip.o     OBJ:amiwbench.o OBJ:amiwind.o    \
  351.     OBJ:winami.o
  352.  
  353. SHAREOBJ = \
  354.     OBJ:pcmain.o    $(RANDOBJ)
  355.  
  356.  
  357. # All the object files for NetHack:
  358.  
  359. HOBJ = $(COMMOBJ) $(AMIGAOBJ) $(SHAREOBJ) $(MAKEDEFOBJ)
  360.  
  361. # Getting down to business:
  362.  
  363. all:  $(COMPACT_HEADERS) NetHack:lev_comp NetHack:dgn_comp $(GAME) \
  364.     NetHack:HackWB NetHack:recover NetHack:HackCli NetHack:splitter
  365.  
  366. install: inst-data inst-dungeon inst-icons inst-fonts HackExe:NetHack.dir
  367.  
  368. Amiga:compacted:
  369.     lmk -f compact.lmk DST=$(COMPACT_DEST) SRC=$(COMPACT_SRC)
  370.  
  371. $(GAME):  $(HOBJ) Amiga:ami.lnk
  372.     $(LINK) $(PNSPEC)$(GAME) $(LIN) $(LLINK) $(LLIB)
  373.  
  374. link:
  375.     $(LINK) $(PNSPEC)$(GAME) $(LIN) $(LLINK) $(LLIB)
  376.  
  377. OBJ:Game.gst: $(GSTHEAD)
  378.     $(CC) $(CFLAGS) makegst $(NHGSTFILE) $(GSTSRC)
  379.  
  380. OBJ:MakeDefs.gst: $(GSTSRC)
  381.     $(CC) $(CFLAGS) define=TEMP_BUILD makegst $(MKGSTFILE) $(GSTSRC)
  382.  
  383. copymgst:
  384.     copy $(MKGSTFILE) to $(GSTFILE)
  385.  
  386. copyngst:
  387.     copy $(NHGSTFILE) to $(GSTFILE)
  388.  
  389. Amiga:ami.lnk: Amiga:Makefile.ami
  390.     list to Amiga:ami.lnk OBJ:\#?.o QUICK NOHEAD
  391.  
  392. obj:  $(HOBJ)
  393. obja:  $(AMIGAOBJ)
  394. objs:  $(SHAREOBJ)
  395.  
  396. # The default method for creating object files:
  397.  
  398. #[SAS6]
  399. #[SAS5]
  400.  
  401. .c.o:
  402.     $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)$@ $<
  403.  
  404. #[DICE]
  405.  
  406. #$(COMMOBJ):
  407. #    $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)$@ NHS:$*.c
  408.  
  409. #$(AMIGAOBJ):
  410. #    $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)$@ Amiga:$*.c
  411.  
  412. #$(SHAREOBJ):
  413. #    $(CC) $(CFLAGS) $(CSYM) $(OBJSPEC)$@ Share:$*.c
  414.  
  415. clean:
  416.     -delete OBJ:\#?.o OBJO:\#?.o
  417.  
  418. spotless:  clean
  419.     -delete $(GAME) NetHack:lev_comp NetHack:makedefs NetHack:dgn_comp
  420.     -delete Amiga:8
  421.     -delete Amiga:hack.font
  422.     -delete Dat:data Dat:rumors
  423.     -delete NetHack:data NetHack:rumors
  424.     -delete NetHack:castle.lev NetHack:dungeon
  425.     -delete NetHack:earth.lev NetHack:air.lev NetHack:fire.lev
  426.     -delete NetHack:water.lev NetHack:astral.lev
  427.     -delete NetHack:tower1.lev NetHack:tower2.lev NetHack:tower3.lev
  428.     -delete NetHack:fakewiz1.lev NetHack:fakewiz2.lev
  429.     -delete NetHack:medusa-1.lev NetHack:medusa-2.lev
  430.     -delete NetHack:oracle.lev NetHack:wizard1.lev NetHack:wizard2.lev
  431.     -delete NetHack:wizard3.lev NetHack:dungeon.pdf NetHack:valley.lev
  432.     -delete NetHack:minetown.lev NetHack:minefill.lev
  433.     -delete $(ADFILES)
  434.     -delete $(BDFILES)
  435.     -delete $(CDFILES)
  436.     -delete $(EDFILES)
  437.     -delete $(HDFILES)
  438.     -delete $(KDFILES)
  439.     -delete $(PDFILES)
  440.     -delete $(RDFILES)
  441.     -delete $(SDFILES)
  442.     -delete $(TDFILES)
  443.     -delete $(VDFILES)
  444.     -delete $(WDFILES)
  445.     -delete Incl:onames.h Incl:pm.h
  446.     -echo to Incl:onames.h "" noline
  447.     -wait 2
  448.     -echo to Incl:pm.h "" noline
  449.     -wait 2
  450.     -setdate NHS:makedefs.c
  451.     -wait 2
  452.  
  453. # Creating precompiled version of Incl:hack.h to save disk I/O.
  454.  
  455. #[SAS5]
  456. #   If we were to use the precompiled header file feature of SAS/C, we
  457. #   would uncomment the following lines.  (Also see defines for HDEP and
  458. #   CSYM near the beginning of this file, as these should be appropriately
  459. #   defined.)
  460.  
  461. #$(HDEP):  Incl:hack.h NetHack:makedefs
  462. #    echo to Ram:hackincl.c "#include <Incl:hack.h>"
  463. #    $(CC) $(CFLAGS) -ph $(OBJSPEC)$@ Ram:hackincl.c
  464. #    -delete Ram:hackincl.c
  465.  
  466. #[MANX]
  467. #   If we were compiling with Aztec, and wanted to use the symbol table
  468. #   pre-loading feature, we would uncomment these following two lines.
  469.  
  470. #$(HDEP):  Incl:hack.h NetHack:makedefs
  471. #    $(CC) $(CFLAGS) -a $(OBJSPEC)Ram:hack.asm +h$@ Incl:hack.h
  472. #    -delete Ram:hack.asm
  473.  
  474. #[DICE]
  475. #   If we were compiling with DICE and wanted to use the symbol table
  476. #   pre-loading feature, we would not need a rule to make the
  477. #   precompiled header file, because DCC handles this automatically.
  478.  
  479. #
  480. #    Please note:    The dependency lines for the modules here are
  481. #            deliberately incorrect.  Including "hack.h" in
  482. #            the dependency list would cause a dependency
  483. #            loop.
  484. #
  485.  
  486. NetHack:makedefs:  $(MKGSTFILE) $(COPYMGST) $(MAKEOBJS)
  487.     $(LINK) $(PNSPEC)NetHack:makedefs $(LIN) $(MAKEOBJS) $(LLIB)
  488.  
  489. OBJO:makedefs.o:  Util:makedefs.c Incl:config.h Incl:permonst.h Incl:objclass.h  Incl:patchlevel.h Incl:qtext.h Incl:artilist.h
  490.     $(CC) $(DEFSPEC)MAKEDEFS_C $(CFLAGS) $(OBJSPEC)$@ Util:makedefs.c
  491.  
  492. NetHack:lev_comp:  $(SPLEVOBJS)
  493.     $(LINK) $(PNSPEC)NetHack:lev_comp $(LIN) $(SPLEVOBJS) $(FBFIL) $(FLLIB)
  494.  
  495. NetHack:dgn_comp:  $(DGNCOMPOBJS)
  496.     $(LINK) $(PNSPEC)NetHack:dgn_comp $(LIN) $(DGNCOMPOBJS) $(FBFIL) $(FLLIB)
  497.  
  498. OBJO:lev_yacc.o:  Util:lev_yacc.c $(HDEP) Incl:sp_lev.h Incl:pm.h Incl:onames.h
  499.     setdate Util:lev_yacc.c
  500.     $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ Util:lev_yacc.c
  501.  
  502. OBJO:lev_lex.o: Util:lev_lex.c $(HDEP) Incl:lev_comp.h Incl:sp_lev.h
  503.     $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ Util:lev_lex.c
  504.  
  505. OBJO:lev_main.o:  Util:lev_main.c $(HDEP)
  506.     $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ Util:lev_main.c
  507.  
  508. OBJO:dgn_yacc.o:  Util:dgn_yacc.c $(HDEP) Incl:dgn_file.h
  509.     $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ Util:dgn_yacc.c
  510.  
  511. OBJO:dgn_lex.o: Util:dgn_lex.c $(HDEP) Incl:dgn_comp.h
  512.     $(CC) $(DEFSPEC)LEV_LEX_C $(CFLAGS) $(OBJSPEC)$@ Util:dgn_lex.c
  513.  
  514. OBJO:dgn_main.o: Util:dgn_main.c $(HDEP)
  515.     $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ Util:dgn_main.c
  516.  
  517. OBJO:panic.o: Util:panic.c $(HDEP)
  518.  
  519. OBJO:recover.o: Util:recover.c $(HDEP)
  520.     $(CC) $(DEFSPEC)LEV_LEX_C $(DEFSPEC)AMIGA $(CFLAGS) $(OBJSPEC)$@ Util:recover.c
  521.  
  522. NetHack:recover: OBJO:recover.o
  523.     $(LINK) $(PNSPEC)NetHack:recover $(LIN) OBJO:recover.o $(LLIB)
  524.  
  525. # [OPTION] -- If you have flex/bison, leave these uncommented.  Otherwise,
  526. # comment them out and be careful! (You're not guaranteed to have the most
  527. # up to date *_comp.c, *_comp.h and *_lex.c)
  528.  
  529. Incl:lev_comp.h: Util:lev_yacc.c
  530.  
  531. Util:lev_yacc.c:  Util:lev_comp.y
  532.     $(BISON) -d Util:lev_comp.y
  533.     copy Util:lev_comp.tab.c Util:lev_yacc.c
  534.     copy Util:lev_comp.tab.h Incl:lev_comp.h
  535.     delete Util:lev_comp.tab.c
  536.     delete Util:lev_comp.tab.h
  537.  
  538. Util:lev_lex.c:  Util:lev_comp.l
  539.     $(FLEX) Util:lev_comp.l
  540.     copy lex.yy.c Util:lev_lex.c
  541.     delete lex.yy.c
  542.  
  543. Incl:dgn_comp.h: Util:dgn_yacc.c
  544.  
  545. Util:dgn_yacc.c:  Util:dgn_comp.y
  546.     $(BISON) -d Util:dgn_comp.y
  547.     copy Util:dgn_comp.tab.c Util:dgn_yacc.c
  548.     copy Util:dgn_comp.tab.h Incl:dgn_comp.h
  549.     delete Util:dgn_comp.tab.c
  550.     delete Util:dgn_comp.tab.h
  551.  
  552. Util:dgn_lex.c:  Util:dgn_comp.l
  553.     $(FLEX) Util:dgn_comp.l
  554.     copy lex.yy.c Util:dgn_lex.c
  555.     delete lex.yy.c
  556.  
  557. #
  558. #    The following include files depend on makedefs to be created.
  559. #    As a result, they are not defined in HACKINCL, instead, their
  560. #    dependencies are explicitly outlined here.
  561. #
  562.  
  563. #
  564. #    date.h should be remade any time any of the source or include code
  565. #    is modified.  Unfortunately, this would make the contents of this
  566. #    file far more complex.    Since "hack.h" depends on most of the include
  567. #    files, we kludge around this by making date.h dependent on hack.h,
  568. #    even though it doesn't include this file.
  569. #
  570.  
  571. Incl:date.h Dat:options:  $(HDEP) NetHack:makedefs $(AMIGAOBJ)
  572.     NetHack:makedefs -v
  573.     $(EXECUTE) Amiga:ifchange MOVE Incl:t.date.h Incl:date.h
  574.     -wait 2
  575.  
  576. Incl:onames.h:  NetHack:makedefs
  577.     NetHack:makedefs -o
  578.     $(EXECUTE) Amiga:ifchange TOUCH Incl:t.onames.h Incl:onames.h Incl:decl.h
  579.     $(EXECUTE) Amiga:ifchange MOVE Incl:t.onames.h Incl:onames.h
  580.     -wait 2
  581.  
  582. Incl:pm.h:  NetHack:makedefs
  583.     NetHack:makedefs -p
  584.     $(EXECUTE) Amiga:ifchange TOUCH Incl:t.pm.h Incl:pm.h Incl:decl.h Incl:youprop.h
  585.     $(EXECUTE) Amiga:ifchange MOVE Incl:t.pm.h Incl:pm.h
  586.     -wait 2
  587.  
  588. NetHack:quest.dat:    Dat:quest.dat
  589.     copy Dat:quest.dat $@
  590.  
  591. Dat:quest.dat:    Dat:quest.txt NetHack:makedefs
  592.     NetHack:makedefs -q
  593.  
  594. NHS:monstr.c:  $(HDEP) NetHack:makedefs
  595.     NetHack:makedefs -m
  596.     -wait 2
  597.  
  598. Dat:oracles:    Dat:oracles.txt NetHack:makedefs
  599.     NetHack:makedefs -h
  600.     -wait 2
  601.  
  602. #
  603. #    The following programs vary depending on what OS you are using.
  604. #    As a result, they are not defined in HACKSRC and their dependancies
  605. #    are explicitly outlined here.
  606. #
  607.  
  608. OBJ:amidos.o:  Amiga:amidos.c $(HDEP)
  609.  
  610. OBJ:amirip.o:  Amiga:amirip.c $(HDEP)
  611.  
  612. OBJ:amiwind.o:  Amiga:amiwind.c Amiga:amimenu.c $(HDEP)
  613.  
  614. OBJ:winami.o:    Amiga:winami.c $(HDEP) Amiga:char.c Amiga:colorwin.c Amiga:randwin.c
  615.  
  616. OBJ:amiwbench.o:  Amiga:amiwbench.c $(HDEP)
  617.  
  618. OBJ:random.o:  Share:random.c
  619.  
  620. OBJ:pcmain.o:  Share:pcmain.c $(HDEP)
  621.  
  622. # Stuff to build the front ends
  623. NetHack:HackWB: OBJO:wb.o OBJO:wbx.o OBJO:loader.o OBJO:multi.o
  624.     $(LINK) $(PNSPEC)NetHack:HackWB $(LIN) OBJO:wb.o OBJO:wbx.o OBJO:loader.o OBJO:multi.o $(LLIB)
  625.  
  626. NetHack:HackCli: OBJO:cli.o OBJO:loader.o OBJO:multi.o
  627.     $(LINK) $(PNSPEC)NetHack:HackCli $(LIN) OBJO:cli.o OBJO:loader.o OBJO:multi.o $(LLIB)
  628.  
  629. # This needs to exist to eliminate the HackWB startup message
  630. NetHack:WBDefaults.def:
  631.     echo to NetHack:WBDefaults.def
  632.  
  633. WBH    = Amiga:wbdefs.h Amiga:wbstruct.h Amiga:wbprotos.h
  634. ASP    = Amiga:splitter
  635. OBJO:wb.o: $(WBH) Amiga:wb.c Amiga:wbwin.c Amiga:wbdata.c
  636.     $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)OBJO:wb.o Amiga:wb.c
  637. OBJO:wbx.o: $(WBH) Amiga:wbcli.c Amiga:wbwin.c Amiga:wbdata.c Incl:date.h
  638.     $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)OBJO:wbx.o Amiga:wbcli.c
  639. OBJO:loader.o: $(ASP)/loader.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/multi.h
  640.     $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)OBJO:loader.o $(ASP)/loader.c
  641. OBJO:multi.o: $(ASP)/multi.c $(ASP)/multi.h
  642.     $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)OBJO:multi.o $(ASP)/multi.c
  643. OBJO:cli.o: $(WBH) Amiga:wbcli.c Incl:date.h
  644.     $(CC) $(WBCFLAGS) $(WBC2FLAGS) $(SPLFLAGS) $(OBJSPEC)OBJO:cli.o Amiga:wbcli.c
  645. ####
  646. # splitter support
  647. NetHack:splitter:    OBJO:splitter.o OBJO:arg.o
  648.     $(LINK) $(PNSPEC)NetHack:splitter $(LIN) OBJO:splitter.o OBJO:arg.o $(LLIB)
  649. HackExe:NetHack.dir:    NetHack:splitter Hackexe:NetHack
  650.     NetHack:splitter $(GAME)
  651.  
  652. OBJO:splitter.o:    $(ASP)/splitter.c $(ASP)/split.h $(ASP)/amiout.h $(ASP)/arg.h
  653.     $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)OBJO:splitter.o $(ASP)/splitter.c
  654. OBJO:arg.o:    $(ASP)/arg.c $(ASP)/arg.h
  655.     $(CC) $(WBCFLAGS) $(SPLFLAGS) $(OBJSPEC)OBJO:arg.o $(ASP)/arg.c 
  656.  
  657. # Create/copy other stuff into NetHack: directory:
  658.  
  659. # quest files
  660. ADFILES= NetHack:A-goal.lev NetHack:A-fill.lev NetHack:A-locate.lev NetHack:A-start.lev
  661. BDFILES= NetHack:B-goal.lev NetHack:B-fill.lev NetHack:B-locate.lev NetHack:B-start.lev
  662. CDFILES= NetHack:C-goal.lev NetHack:C-fill.lev NetHack:C-locate.lev NetHack:C-start.lev
  663. EDFILES= NetHack:E-goal.lev NetHack:E-fill.lev NetHack:E-locate.lev NetHack:E-start.lev
  664. HDFILES= NetHack:H-goal.lev NetHack:H-fill.lev NetHack:H-locate.lev NetHack:H-start.lev
  665. KDFILES= NetHack:K-goal.lev NetHack:K-fill.lev NetHack:K-locate.lev NetHack:K-start.lev
  666. PDFILES= NetHack:P-goal.lev NetHack:P-fill.lev NetHack:P-locate.lev NetHack:P-start.lev
  667. RDFILES= NetHack:R-goal.lev NetHack:R-fill.lev NetHack:R-locate.lev NetHack:R-start.lev
  668. SDFILES= NetHack:S-goal.lev NetHack:S-fill.lev NetHack:S-locate.lev NetHack:S-start.lev
  669. TDFILES= NetHack:T-goal.lev NetHack:T-fill.lev NetHack:T-locate.lev NetHack:T-start.lev
  670. VDFILES= NetHack:V-goal.lev NetHack:V-fill.lev NetHack:V-locate.lev NetHack:V-start.lev
  671. WDFILES= NetHack:W-goal.lev NetHack:W-fill.lev NetHack:W-locate.lev NetHack:W-start.lev
  672.  
  673. XDFILES=    $(ADFILES) $(BDFILES) $(CDFILES) $(EDFILES) $(HDFILES) \
  674.         $(KDFILES) $(PDFILES) $(RDFILES) $(SDFILES) $(TDFILES) \
  675.         $(VDFILES) $(WDFILES)
  676.  
  677. INSTDUNGEONFILES= \
  678.     NetHack:NetHack.cnf NetHack:air.lev NetHack:asmodeus.lev \
  679.     NetHack:astral.lev NetHack:baalz.lev NetHack:bigroom.lev \
  680.     NetHack:castle.lev NetHack:dungeon NetHack:earth.lev \
  681.     NetHack:fakewiz1.lev NetHack:fakewiz2.lev NetHack:fire.lev \
  682.     NetHack:juiblex.lev NetHack:knox.lev NetHack:medusa-1.lev \
  683.     NetHack:medusa-2.lev NetHack:mine_end.lev NetHack:minefill.lev \
  684.     NetHack:minetown.lev NetHack:options NetHack:oracle.lev \
  685.     NetHack:orcus.lev NetHack:sanctum.lev NetHack:tower1.lev \
  686.     NetHack:tower2.lev NetHack:tower3.lev NetHack:valley.lev \
  687.     NetHack:water.lev NetHack:wizard1.lev NetHack:wizard2.lev \
  688.     NetHack:wizard3.lev $(XDFILES)
  689.  
  690. DUNGEONTOOLS= \
  691.     NetHack:lev_comp NetHack:dgn_comp NetHack:makedefs
  692.  
  693. inst-dungeon: $(INSTDUNGEONFILES)
  694.  
  695. NetHack:options : Dat:options
  696.     copy Dat:options $@
  697.  
  698. # Create compiled dungeon files
  699. NetHack:bigroom.lev:    Dat:bigroom.des NetHack:lev_comp
  700.     NetHack:lev_comp Dat:bigroom.des
  701.  
  702. NetHack:castle.lev:  Dat:castle.des NetHack:lev_comp
  703.     NetHack:lev_comp Dat:castle.des
  704.  
  705. NetHack:air.lev NetHack:earth.lev NetHack:fire.lev NetHack:water.lev NetHack:astral.lev:    Dat:endgame.des NetHack:lev_comp
  706.     NetHack:lev_comp Dat:endgame.des
  707.  
  708. NetHack:asmodeus.lev NetHack:baalz.lev NetHack:juiblex.lev NetHack:orcus.lev NetHack:sanctum.lev NetHack:valley.lev:    Dat:gehennom.des NetHack:lev_comp
  709.     NetHack:lev_comp Dat:gehennom.des
  710.  
  711. NetHack:knox.lev: Dat:knox.des NetHack:lev_comp
  712.     NetHack:lev_comp Dat:knox.des
  713.  
  714. NetHack:mine_end.lev NetHack:minetown.lev NetHack:minefill.lev: Dat:mines.des NetHack:lev_comp
  715.     NetHack:lev_comp Dat:mines.des
  716.  
  717. NetHack:oracle.lev: Dat:oracle.des NetHack:lev_comp
  718.     NetHack:lev_comp Dat:oracle.des
  719.  
  720. NetHack:tower1.lev NetHack:tower2.lev NetHack:tower3.lev:  Dat:tower.des NetHack:lev_comp
  721.     NetHack:lev_comp Dat:tower.des
  722.  
  723. NetHack:wizard1.lev NetHack:wizard2.lev NetHack:wizard3.lev NetHack:fakewiz1.lev NetHack:fakewiz2.lev:   Dat:yendor.des NetHack:lev_comp
  724.     NetHack:lev_comp Dat:yendor.des
  725.  
  726. NetHack:medusa-1.lev NetHack:medusa-2.lev: Dat:medusa.des NetHack:lev_comp
  727.     NetHack:lev_comp Dat:medusa.des
  728.  
  729. $(ADFILES):    Dat:Arch.des NetHack:lev_comp
  730.     NetHack:lev_comp Dat:Arch.des
  731.  
  732. $(BDFILES):    Dat:Barb.des NetHack:lev_comp
  733.     NetHack:lev_comp Dat:Barb.des
  734.  
  735. $(CDFILES):    Dat:Caveman.des NetHack:lev_comp
  736.     NetHack:lev_comp Dat:Caveman.des
  737.  
  738. $(EDFILES):    Dat:Elf.des NetHack:lev_comp
  739.     NetHack:lev_comp Dat:Elf.des
  740.  
  741. $(HDFILES):    Dat:Healer.des NetHack:lev_comp
  742.     NetHack:lev_comp Dat:Healer.des
  743.  
  744. $(KDFILES):    Dat:Knight.des NetHack:lev_comp
  745.     NetHack:lev_comp Dat:Knight.des
  746.  
  747. $(PDFILES):    Dat:Priest.des NetHack:lev_comp
  748.     NetHack:lev_comp Dat:Priest.des
  749.  
  750. $(RDFILES):    Dat:Rogue.des NetHack:lev_comp
  751.     NetHack:lev_comp Dat:Rogue.des
  752.  
  753. $(SDFILES):    Dat:Samurai.des NetHack:lev_comp
  754.     NetHack:lev_comp Dat:Samurai.des
  755.  
  756. $(TDFILES):    Dat:Tourist.des NetHack:lev_comp
  757.     NetHack:lev_comp Dat:Tourist.des
  758.  
  759. $(VDFILES):    Dat:Valkyrie.des NetHack:lev_comp
  760.     NetHack:lev_comp Dat:Valkyrie.des
  761.  
  762. $(WDFILES):    Dat:Wizard.des NetHack:lev_comp
  763.     NetHack:lev_comp Dat:Wizard.des
  764.  
  765.  
  766. NetHack:dungeon:  Dat:dungeon.def NetHack:makedefs NetHack:dgn_comp
  767.     NetHack:makedefs -e
  768.     NetHack:dgn_comp Dat:dungeon.pdf
  769.     copy Dat:dungeon NetHack:dungeon
  770.     delete Dat:dungeon
  771.  
  772. DATAFILES= \
  773.     Dat:data Dat:rumors Dat:cmdhelp Dat:quest.dat
  774. INSTDATAFILES= \
  775.     NetHack:cmdhelp NetHack:data NetHack:help NetHack:hh NetHack:history \
  776.     NetHack:license NetHack:logfile NetHack:opthelp NetHack:oracles \
  777.     NetHack:perm NetHack:quest.dat NetHack:record NetHack:rumors \
  778.     NetHack:wizhelp NetHack:HackWB.hlp NetHack:WBDefaults.def \
  779.     NetHack:amii.hlp
  780.  
  781. inst-data: $(INSTDATAFILES)
  782.  
  783. NetHack:amii.hlp: Amiga:amii.hlp
  784.     copy Amiga:amii.hlp $@
  785.  
  786. NetHack:data:  Dat:data
  787.     copy Dat:data $@
  788.  
  789. Dat:data:  Dat:data.base Incl:config.h NetHack:makedefs
  790.     NetHack:makedefs -d
  791.  
  792. NetHack:rumors:  Dat:rumors
  793.     copy Dat:rumors $@
  794.  
  795. Dat:rumors:  Dat:rumors.tru Dat:rumors.fal NetHack:makedefs
  796.     NetHack:makedefs -r
  797.  
  798. NetHack:cmdhelp:  Dat:cmdhelp
  799.     copy Dat:cmdhelp $@
  800.  
  801. NetHack:help:  Dat:help
  802.     copy Dat:help $@
  803.  
  804. NetHack:hh:  Dat:hh
  805.     copy Dat:hh $@
  806.  
  807. NetHack:HackWB.hlp: Amiga:HackWB.hlp
  808.     copy Amiga:HackWB.hlp $@
  809.  
  810. NetHack:history:  Dat:history
  811.     copy Dat:history $@
  812.  
  813. NetHack:license:  Dat:license
  814.     copy Dat:license $@
  815.  
  816. NetHack:opthelp:  Dat:opthelp
  817.     copy Dat:opthelp $@
  818.  
  819. NetHack:oracles:  Dat:oracles
  820.     copy Dat:oracles $@
  821.  
  822. NetHack:perm:
  823.     echo to $@
  824.  
  825. NetHack:logfile:
  826.     echo to $@
  827.  
  828. NetHack:record:
  829.     echo to $@
  830.  
  831. NetHack:wizhelp:
  832.     copy Dat:wizhelp $@
  833.  
  834. # Create the directories here because NetHack.cnf puts them there by default
  835. NetHack:NetHack.cnf:  Amiga:NetHack.cnf
  836.     copy Amiga:NetHack.cnf $@
  837.     -makedir nethack:save
  838.     -makedir nethack:levels
  839.  
  840. # Unpack and install fonts
  841.  
  842. INSTFONTFILES= \
  843.     NetHack:hack.font NetHack:hack NetHack:hack/8
  844. inst-fonts: $(INSTFONTFILES)
  845.  
  846. NetHack:hack/8:  Amiga:amifont8.uu NetHack:hack
  847.     $(UUDEC) Amiga:amifont8.uu
  848.     -rename 8 hack/8
  849.  
  850. NetHack:hack.font:  Amiga:amifont.uu
  851.     $(UUDEC) Amiga:amifont.uu
  852.  
  853. NetHack:hack:
  854.     makedir $@
  855.  
  856. INSTICONFILES= \
  857.     NetHack:default.icon NetHack:NetHack.info NetHack:NewGame.info \
  858.     NetHack:HackWB.info
  859.  
  860. inst-icons: $(INSTICONFILES)
  861.  
  862. # Unpack the icons into place
  863.  
  864. NetHack:default.icon:  Amiga:dflticon.uu
  865.     $(UUDEC) Amiga:dflticon.uu
  866.  
  867. NetHack:NetHack.info:  Amiga:NHinfo.uu
  868.     $(UUDEC) Amiga:NHinfo.uu
  869.  
  870. NetHack:NewGame.info:  Amiga:NewGame.uu
  871.     $(UUDEC) Amiga:NewGame.uu
  872.  
  873. NetHack:HackWB.info:  Amiga:HackWB.uu
  874.     $(UUDEC) Amiga:HackWB.uu
  875.  
  876. # DO NOT DELETE THIS LINE
  877.  
  878. OBJ:allmain.o:  NHS:allmain.c $(HDEP)
  879. OBJ:alloc.o:  NHS:alloc.c Incl:config.h
  880. OBJ:apply.o:  NHS:apply.c $(HDEP) Incl:edog.h
  881.     $(CC) $(CFLAGS) $(CFLAGS2) $(OBJSPEC)$@ NHS:apply.c
  882. OBJ:artifact.o:  NHS:artifact.c $(HDEP) Incl:artifact.h Incl:artilist.h
  883. OBJ:attrib.o:  NHS:attrib.c $(HDEP)
  884. OBJ:ball.o: NHS:ball.c $(HDEP)
  885. OBJ:bones.o:  NHS:bones.c $(HDEP) Incl:lev.h
  886. OBJ:botl.o:    NHS:botl.c $(HDEP)
  887. OBJ:cmd.o:  NHS:cmd.c $(HDEP) Incl:func_tab.h
  888. OBJ:dbridge.o:  NHS:dbridge.c $(HDEP)
  889. OBJ:decl.o:  NHS:decl.c $(HDEP) Incl:quest.h
  890. OBJ:detect.o: NHS:detect.c $(HDEP) Incl:artifact.h
  891. OBJ:display.o:  NHS:display.c $(HDEP)
  892. OBJ:do.o:  NHS:do.c $(HDEP) Incl:lev.h
  893. OBJ:do_name.o:  NHS:do_name.c $(HDEP)
  894. OBJ:do_wear.o:  NHS:do_wear.c $(HDEP)
  895. OBJ:dog.o:  NHS:dog.c $(HDEP) Incl:edog.h
  896. OBJ:dogmove.o:  NHS:dogmove.c $(HDEP) Incl:mfndpos.h Incl:edog.h
  897. OBJ:dokick.o:  NHS:dokick.c $(HDEP) Incl:eshk.h
  898. OBJ:dothrow.o:  NHS:dothrow.c $(HDEP)
  899. OBJ:drawing.o:  NHS:drawing.c $(HDEP) Incl:termcap.h
  900. OBJ:dungeon.o:  NHS:dungeon.c $(HDEP) Incl:dgn_file.h
  901. OBJ:eat.o:  NHS:eat.c $(HDEP)
  902. OBJ:end.o:  NHS:end.c $(HDEP) Incl:eshk.h
  903. OBJ:engrave.o:  NHS:engrave.c $(HDEP) Incl:lev.h
  904. OBJ:exper.o:  NHS:exper.c $(HDEP)
  905. OBJ:explode.o:  NHS:explode.c $(HDEP)
  906. OBJ:extralev.o:  NHS:extralev.c $(HDEP)
  907. OBJ:files.o:  NHS:files.c $(HDEP)
  908. OBJ:fountain.o:  NHS:fountain.c $(HDEP)
  909. OBJ:hack.o:  NHS:hack.c $(HDEP)
  910. OBJ:invent.o:  NHS:invent.c $(HDEP)
  911. OBJ:lock.o:  NHS:lock.c $(HDEP)
  912. OBJ:mail.o:  NHS:mail.c $(HDEP) Incl:mail.h
  913. OBJ:makemon.o:  NHS:makemon.c $(HDEP) Incl:epri.h Incl:emin.h
  914. OBJ:mcastu.o:  NHS:mcastu.c $(HDEP)
  915. OBJ:mhitm.o:  NHS:mhitm.c $(HDEP) Incl:artifact.h Incl:edog.h
  916. OBJ:mhitu.o:  NHS:mhitu.c $(HDEP) Incl:artifact.h Incl:edog.h
  917. OBJ:minion.o:  NHS:minion.c $(HDEP) Incl:emin.h Incl:epri.h
  918. OBJ:mklev.o:  NHS:mklev.c $(HDEP)
  919. OBJ:mkmap.o:  NHS:mkmap.c $(HDEP)
  920. OBJ:mkmaze.o:  NHS:mkmaze.c $(HDEP) Incl:sp_lev.h
  921. OBJ:mkobj.o:  NHS:mkobj.c $(HDEP) Incl:artifact.h Incl:prop.h
  922. OBJ:mkroom.o:  NHS:mkroom.c $(HDEP)
  923. OBJ:mon.o:  NHS:mon.c $(HDEP) Incl:mfndpos.h
  924. OBJ:mondata.o:  NHS:mondata.c $(HDEP) Incl:eshk.h Incl:epri.h
  925. OBJ:monmove.o:  NHS:monmove.c $(HDEP) Incl:mfndpos.h Incl:artifact.h
  926. OBJ:monst.o:  NHS:monst.c Incl:config.h Incl:permonst.h Incl:monsym.h Incl:eshk.h Incl:vault.h Incl:epri.h Incl:color.h
  927. OBJ:monstr.o:  NHS:monstr.c $(HDEP)
  928. OBJ:mplayer.o:    NHS:mplayer.c $(HDEP)
  929. OBJ:mthrowu.o:  NHS:mthrowu.c $(HDEP)
  930. OBJ:hacklib.o:  NHS:hacklib.c $(HDEP)
  931. OBJ:muse.o:    NHS:muse.c $(HDEP)
  932. OBJ:music.o:  NHS:music.c $(HDEP)
  933. OBJ:o_init.o:  NHS:o_init.c $(HDEP)
  934. OBJ:objects.o:  NHS:objects.c Incl:config.h Incl:obj.h Incl:objclass.h Incl:prop.h Incl:color.h
  935.     $(CC) $(CFLAGS) $(INCLSPEC)NHS: $(OBJSPEC)$@ NHS:objects.c
  936. OBJ:objnam.o:  NHS:objnam.c $(HDEP)
  937. OBJ:options.o:  NHS:options.c $(HDEP) Incl:termcap.h
  938. OBJ:pager.o:  NHS:pager.c $(HDEP)
  939. OBJ:pickup.o:  NHS:pickup.c $(HDEP)
  940. OBJ:pline.o:    NHS:pline.c $(HDEP) Incl:epri.h
  941. OBJ:polyself.o:  NHS:polyself.c $(HDEP)
  942. OBJ:potion.o:  NHS:potion.c $(HDEP)
  943. OBJ:pray.o:  NHS:pray.c $(HDEP) Incl:epri.h
  944. OBJ:priest.o:  NHS:priest.c $(HDEP) Incl:mfndpos.h Incl:eshk.h Incl:epri.h Incl:emin.h
  945. OBJ:quest.o:    NHS:quest.c $(HDEP) Incl:quest.h Incl:qtext.h
  946. OBJ:questpgr.o: NHS:questpgr.c $(HDEP) Incl:qtext.h
  947. OBJ:read.o:  NHS:read.c $(HDEP)
  948. OBJ:rect.o:    NHS:rect.c $(HDEP)
  949. OBJ:restore.o:  NHS:restore.c $(HDEP) Incl:lev.h Incl:termcap.h Incl:quest.h
  950. OBJ:rnd.o:  NHS:rnd.c $(HDEP)
  951. OBJ:rumors.o:  NHS:rumors.c $(HDEP)
  952. OBJ:save.o:  NHS:save.c $(HDEP) Incl:lev.h Incl:quest.h
  953. OBJ:shk.o:  NHS:shk.c $(HDEP) Incl:eshk.h
  954. OBJ:shknam.o:  NHS:shknam.c $(HDEP) Incl:eshk.h
  955. OBJ:sit.o:  NHS:sit.c $(HDEP)
  956. OBJ:sounds.o:  NHS:sounds.c $(HDEP) Incl:edog.h Incl:eshk.h
  957. OBJ:sp_lev.o:  NHS:sp_lev.c $(HDEP) Incl:sp_lev.h Incl:rect.h
  958. OBJ:spell.o:  NHS:spell.c $(HDEP)
  959. OBJ:steal.o:  NHS:steal.c $(HDEP)
  960. OBJ:timeout.o:  NHS:timeout.c $(HDEP)
  961. OBJ:topten.o:  NHS:topten.c $(HDEP)
  962. OBJ:track.o:  NHS:track.c $(HDEP)
  963. OBJ:trap.o:  NHS:trap.c $(HDEP) Incl:edog.h
  964. OBJ:u_init.o:  NHS:u_init.c $(HDEP)
  965. OBJ:uhitm.o:  NHS:uhitm.c $(HDEP)
  966. OBJ:vault.o:  NHS:vault.c $(HDEP) Incl:vault.h
  967. OBJ:version.o:  NHS:version.c $(HDEP) Incl:date.h Incl:patchlevel.h
  968. OBJ:vision.o:  NHS:vision.c $(HDEP)
  969. OBJ:weapon.o:  NHS:weapon.c $(HDEP)
  970. OBJ:were.o:  NHS:were.c $(HDEP)
  971. OBJ:wield.o:  NHS:wield.c $(HDEP)
  972. OBJ:wizard.o:  NHS:wizard.c $(HDEP) Incl:qtext.h
  973. OBJ:windows.o:  NHS:windows.c $(HDEP)
  974. OBJ:worm.o:  NHS:worm.c $(HDEP) Incl:lev.h
  975. OBJ:worn.o:  NHS:worn.c $(HDEP)
  976. OBJ:write.o:  NHS:write.c $(HDEP)
  977. OBJ:zap.o:  NHS:zap.c $(HDEP)
  978. Incl:config.h:  Incl:tradstdc.h Incl:global.h
  979.     -setdate Incl:config.h
  980.     -wait 2
  981. # onames.h handled at onames.h target, pm.h
  982. Incl:decl.h:  Incl:quest.h Incl:spell.h Incl:color.h Incl:obj.h Incl:you.h
  983.     -setdate Incl:decl.h
  984.     -wait 2
  985. Incl:global.h:  Incl:coord.h Incl:pcconf.h Incl:amiconf.h
  986.     -setdate Incl:global.h
  987.     -wait 2
  988.  
  989. Incl:hack.h:  Incl:config.h Incl:trap.h Incl:decl.h Incl:dungeon.h Incl:monsym.h Incl:mkroom.h Incl:objclass.h Incl:flag.h Incl:rm.h Incl:vision.h Incl:display.h Incl:wintype.h Incl:engrave.h Incl:rect.h Incl:trampoli.h
  990.     -setdate Incl:hack.h
  991.     -wait 2
  992. Incl:permonst.h:  Incl:monattk.h Incl:monflag.h Incl:align.h
  993.     -setdate Incl:permonst.h
  994.     -wait 2
  995. Incl:you.h:  Incl:align.h Incl:attrib.h Incl:monst.h Incl:youprop.h
  996.     -setdate Incl:you.h
  997.     -wait 2
  998. # pm.h handled at target
  999. Incl:youprop.h:  Incl:prop.h Incl:permonst.h Incl:mondata.h
  1000.     -setdate Incl:youprop.h
  1001.     -wait 2
  1002. Incl:display.h: Incl:vision.h Incl:mondata.h
  1003.     -setdate Incl:display.h
  1004.     -wait 2
  1005. Incl:dungeon.h: Incl:align.h
  1006.     -setdate Incl:dungeon.h
  1007.     -wait 2
  1008. Incl:emin.h: Incl:dungeon.h
  1009.     -setdate Incl:emin.h
  1010.     -wait 2
  1011. Incl:epri.h: Incl:dungeon.h Incl:align.h
  1012.     -setdate Incl:epri.h
  1013.     -wait 2
  1014. Incl:eshk: Incl:Inl:dungeon.h
  1015.     -setdate Incl:eshk.h
  1016.     -wait 2
  1017. Incl:engrave.h: Incl:trampoli.h Incl:rect.h
  1018.     -setdate Incl:engrave.h
  1019.     -wait 2
  1020. Incl:mondata.h: Incl:align.h
  1021.     -setdate Incl:mondata.h
  1022.     -wait 2
  1023. Incl:monst.h: Incl:align.h
  1024.     -setdate Incl:monst.h
  1025.     -wait 2
  1026. Incl:pcconf.h: Incl:micro.h Incl:system.h
  1027.     -setdate Incl:pcconf.h
  1028.     -wait 2
  1029. Incl:rm.h: Incl:align.h
  1030.     -setdate Incl:rm.h
  1031.     -wait 2
  1032. Incl:vault.h: Incl:dungeon.h
  1033.     -setdate Incl:vault.h
  1034.     -wait 2
  1035.